Communication networks whose components communicate with one another on a packet-switched basis are replacing circuit-switching communication networks to an increasing extent. Such networks are frequently also referred to as Voice Over IP (VoIP for short) networks when the Internet protocol (IP) is used for interchanging the audio information provided in the form of data. In this case, the networks may either be used exclusively for transmitting voice data or else for transmitting a mixture of voice data and other information.
The interconnected devices arranged in communication networks are referred to generally as communication components. When a communication component of this type is used as a terminal, for example as a telephone or a multimedia terminal, this component is also referred to as a client component. Other components are not used as a terminal, but rather provide services in the communication network. The services may be a gateway functionality, a voice mail server, an address directory or the like, for example. Such communication components are also referred to as server components. The services and functions provided by the server components are frequently referred to as resources in the literature.
Both the client components and the server components normally comprise a piece of computer hardware (for example a PC) which uses appropriate hardware extensions and a piece of adapted software to perform appropriate functionalities. In this case, a piece of computer hardware may also have more than one software application installed on it, which means that a single physical component in the network may in principle exercise both client and server functionalities. Such communication components are also referred to as servents in the literature, an artificial word derived from the terms “client” and “server”.
The communication components connect to one another by interchanging addressed data packets with one another. In this case, each communication component in the packet-switching network has a network address which is uniquely associated with it. In the networks which interchange data on the basis of the Internet protocol (IP networks), this is the IP address and the IP port number, for example. If a communication component is intended to connect to or interchange data with another communication component, then it is first necessary to find out the network address of the other component. The network addresses are not always permanently associated with the communication components over time, but rather may also be allocated dynamically in the network, which means that communication components may each have a different address whenever they have been turned off and turned on again or after predetermined events. For this reason, at least one network component in the known packet-switching communication networks is equipped with an address directory (address database) for all of the communication components which are available in this network. These server components are normally referred to as gatekeepers.
Alternatively, data interchange without a central address database in the manner of a gatekeeper is known, for example using “The Gnutella Protocol Specification V 0.4” method, which communication components on the Internet can automatically use to find other communication components for file interchange. In this case, the file and hence data interchange thus takes place not using a central server component or a “gatekeeper”, but rather directly between the individual components. Networks which provide direct data interchange between communication components without a superordinate entity are called Peer-to-Peer networks. The communication components which comprise functionalities both of “clients” and of “servers” are the aforementioned “servents”.
In the Peer-to-Peer network based on the Gnutella specification, each communication component (for example a PC) holds files ready for interchange with other components. In order to be able to interchange data, the searching component requires the network address of the component which holds the sought file ready for retrieval. To this end, it first of all sends a first search message, the “ping”. Communication components which receive a “ping” search message respond to the searching communication component using a hit response, the “pong”. This hit response contains the respective network address of the responding communication component and the number of files which this component provides for interchange. In the next step, the searching component sends a second search message “Query” to a limited selection of those communication components which have responded to the “ping” search message with a “pong”. The second search message already contains the file name of the file which is being sought. If a component receives a second search message “Query” but does not itself hold the sought file ready for interchange, then it forwards this search message to other communication components in the network whose addresses it has ascertained, for example by means of a “ping” method which has already been carried out in the past. If the communication component can provide the desired file for interchange, however, then it responds to the second search message “Query” with a hit response “Query Hit”, as a result of which the searching communication component can initiate the file transfer using commands defined in the Internet protocol.
The Gnutella method is used when a particular file is being sought among other communication components. The search method is terminated at the very instant at which the sought file has been found for the first time.
While the correct file need only be found once when searching on the basis of the Gnutella method, it is frequently important in the case of the services in communication networks—the resources—to gain access to a plurality of resources of the same type in order to be able to choose between them when required. This case frequently arises with gateways, for example, which provide the client components in packet-switching networks with connections to components in circuit-switching communication networks. In this context, the client components in a packet-switching communication network require the use-related information about a plurality of resources of this type, because the gateways always support only a limited number of communication connections at the same time in line with their number of channels. Hence, if a gateway is already being utilized to the full extent or has failed, it is necessary to be able to move to another gateway. To this end, the client components or a central location in the network store lists containing the addresses of a plurality of gateways. In searching for a free gateway, that is to say one which is not yet fully utilized, a client component successively contacts all gateways which are held on the list until a gateway with sufficient (residual) capacity has been found. Such lists containing the available resources in the network are administered from a central location in the network. In the event of changes to the network topology or in the event of changes relating to the available resources, the list is changed and is then made available to the client components again in updated form.
In the packet-switching communication networks customary today, the resources are usually software applications which run on PC hardware. In this case, a plurality of resources may also have been installed on one common piece of PC hardware. The software applications access installed hardware components of the PC. By way of example, ISDN cards are used for connections to the circuit-switching communication network ISDN, sound cards are used for inputting and outputting audio information etc. As soon as a PC has the respective hardware components, it can provide the desired resource in the network for use by the other communication components in the communication network by installing an appropriate piece of software.
The document EP 0 964 334 A2 McNally et al. “System, method and computer program product for resource discovery in a distributed computing environment” shows an arrangement and a method for finding and using resources in computer networks. In this case, search programs (“discovery agents”) are sent in the computer network which are placed in the computers for execution and which search these computers for characteristics (hardware, software) which are a requirement for the execution of particular software. If the respective computer's characteristics mean that it has the requirement for executing the software in question, this software is transferred to the computer and is executed there, which means that the computer then provides the resource formed by the software in the computer network.
The known communication networks have been found to have the drawback that resources are not available in a required number in the network. Permanently monitoring the utilization level of the various resource types, additionally installing further resources and uninstalling excessive resources entail a high level of complexity, which is often manual.